package org.huawei260.TiKu.ODsuanfa;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @Author: qingle
 * @Date: 2024/10/28-16:11
 * @Description: 2532 【模拟】2024D 挙登者1
 *
 *
 * 攀登者喜欢寻找各种地图，并且尝试攀登到最高的山峰。
 * 地图表示为一维数组，数组的索引代表水平位置，数组的高度代表相对海拔高度。其中数组元素 0 代表地面。
 * 例如[0,1,2,4,3,1,0,0,1,2,3,1,2,1,0]， 代表如下图所示的地图。地图中有两个山脉位置分别为 1,2,3,4,5和8,9,10,11,12,13，最高峰高度分别为 4,3。最高峰位置分别为3,10。
 * 一个山脉可能有多座山峰（高度大于相邻位置的高度，或在地图边界且高度大于相邻的高度）。
 *
 *                  4
 *
 *               +---+
 *               |   |
 *               |   | 3                       3
 *               |   |
 *               |   +---+                   +---+
 *               |       |                   |   |
 *             2 |       |                 2 |   |     2
 *               |       |                   |   |
 *           +---+       |               +---+   |   +---+
 *           |           |               |       |   |   |
 *         1 |           | 1           1 |       | 1 |   | 1
 *           |           |               |       |   |   |
 *       +---+           +---+       +---+       +---+   +---+
 *       |                   |       |                       |
 *     0 |                   | 0   0 |                       | 0
 *       |                   |       |                       |
 *   +---+                   +-------+                       +---+
 *
 *     0   1   2   3   4   5   6   7   8   9  10  11  12  13  14
 * 登山时会消耗登山者的体力(整数)，上山时，消耗相邻高度差两倍的体力，下坡时消耗相邻高度差一倍的体力，平地不消耗体力，登山者体力消耗到零时会有生命危险。
 * 例如，上图所示的山峰：从索引 0，走到索引 1，高度差为 1，需要消耗 2*1=2 的体力；从索引 2 高度 2走到高度 4 索引 3 需要消耗 2*2=4 的体力；从索引 3 走到索引 4 则消耗 1*1=1 的体力。
 *
 * 登山者想知道一张地图中有多少座山峰？
 * 输入格式
 * 第一行输入一个长度为N的数组，表示地图。
 * 输出格式
 * 输出一个数字，地图中的山峰数量
 * 输入样例    复制
 * 0,1,4,3,1,0,0,1,2,3,1,2,1,0
 * 输出样例    复制
 * 3
 *
 * @version: 1.0
 */
public class D_2024D_2532__模拟_攀登者1_answer { // 40%


	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String s = sc.nextLine();
		String[] split = s.split(",");
		int[] heights = Arrays.stream(s.split(",")).mapToInt(Integer::parseInt).toArray();
//		System.out.println(getResult(split));
		System.out.println(getResult(heights));

	}

	public static int getResult(String[] stringMap) {
		int result = 0;
		int n = stringMap.length;
		int[] map = new int[n];
		for (int i = 0; i < stringMap.length; i++) {
			map[i] = Integer.parseInt(stringMap[i]);
		}

		if(stringMap.length <= 2) {
			return 0;
		}

		for (int i = 1; i < n - 1; i++) {
			if (map[i] > map[i - 1] && map[i] > map[i + 1]) {
				result++;
			}
		}
		return result;
	}

	// 算法实现（本题实际考试为核心代码模式，因此考试时只需要写出此函数实现即可）
	public static int getResult(int[] heights) {
		int count = 0;

		for (int i = 0; i < heights.length; i++) {
			int leftHeight = i - 1 >= 0 ? heights[i - 1] : 0;
			int rightHeight = i + 1 < heights.length ? heights[i + 1] : 0;

			if (heights[i] > leftHeight && heights[i] > rightHeight) {
				count++;
			}
		}

		return count;
	}
}
